home *** CD-ROM | disk | FTP | other *** search
- (*************************************************************************
-
- :Program. XpkSubDefs.mod
- :Contents. structur definitions for XpkSub libraries
- :Author. Hartmut Goebel
- :Copyright. Copyright © 1991 by Hartmut Goebel
- :Copyright. May be free dirstibuted with the Xpk-Package
- :Copyright. permission is given to be inlcuded with AmigaOberon
- :Language. Oberon
- :Translator. Amiga Oberon V2.14
- :History. V0.9, 11 Jan 1992 Hartmut Goebel [hG]
- :History. V1.1, 27 Jul 1992 [hG]
- :History. V2.0 04 Aug 1992 [hG] adapted to Xpk 2.0
- :Date. 04 Aug 1992 01:33:36
-
- *************************************************************************)
- (*
- * Remark
- * Since the sub libraries need the definitions, but not the
- * calls, I decided to split the two parts for reasons of efficiency
- * [hG]
- *)
-
- MODULE XpkSubDefs;
-
- (* $Implementation- *)
-
- IMPORT
- e * := Exec,
- x * := XpkMaster;
-
- (**************************************************************************
- *
- * The XpkInfo structure
- *
- *)
-
- (* Sublibs return this structure to xpkmaster when asked nicely
- * This is version 1 of XpkInfo. It's not #define'd because we don't want
- * it changing automatically with recompiles - you've got to actually update
- * your code when it changes.
- *)
- TYPE
- XpkInfoPtr * = POINTER TO XpkInfo;
- XpkInfo * = STRUCT
- xpkInfoVersion * : INTEGER ; (* Version number of this structure *)
- libVersion * : INTEGER ; (* The version of this sublibrary *)
- masterVersion * : INTEGER ; (* The required master lib version *)
- modesVersion * : INTEGER; ; (* Version number of mode descriptors *)
- name * : e.STRPTR ; (* Brief name of the packer *)
- longName * : e.STRPTR ; (* Full name of the packer *)
- description * : e.STRPTR ; (* Short packer desc., 70 char max *)
- id * : LONGINT ; (* ID the packer goes by (XPK format) *)
- flags * : LONGSET ; (* Defines see x.XpkPackerInfo.flags *)
- maxPkInChunk * : LONGINT ; (* Max input chunk size for packing *)
- minPkInChunk * : LONGINT ; (* Min input chunk size for packing *)
- defPkInChunk * : LONGINT ; (* Default packing chunk size *)
- packMsg * : e.STRPTR ; (* Packing message, present tense *)
- unpackMsg * : e.STRPTR ; (* Unpacking message, present tense *)
- packedMsg * : e.STRPTR ; (* Packing message, past tense *)
- unpackedMsg * : e.STRPTR ; (* Unpacking message, past tense *)
- defModes * : INTEGER ; (* Default mode number *)
- pad * : INTEGER ; (* for future use *)
- modeDesc * : x.XpkModePtr ; (* List of individual descriptors *)
- reserved * : ARRAY 6 OF e.ADDRESS; (* Future expansion - set to zero *)
- END;
-
-
- (**************************************************************************
- *
- * The XpkSubParams structure
- *
- *)
- TYPE
- XpkSubParamsPtr * = POINTER TO XpkSubParams;
- XpkSubParams * = STRUCT
- inBuf * : e.APTR ; (* The input data *)
- inLen * : LONGINT ; (* The number of bytes to pack *)
- outBuf * : e.APTR ; (* The output buffer *)
- outBufLen * : LONGINT ; (* The length of the output buf *)
- outLen * : LONGINT ; (* Number of bytes written *)
- flags * : LONGSET ; (* Flags for master/sub comm. *)
- number * : LONGINT ; (* The number of this chunk *)
- mode * : LONGINT ; (* The packing mode to use *)
- password * : e.APTR ; (* The password to use *)
- arg * : ARRAY 4 OF e.ADDRESS ; (* Reserved; don't use *)
- sub * : ARRAY 4 OF e.ADDRESS ; (* Sublib private data *)
- END;
-
- CONST
- (* defines for XpkSubParams.flags *)
- stepDown * = 1; (* May reduce pack eff. to save mem *)
- prevChunk * = 2; (* Previous chunk available on unpack *)
-
- END XpkSubDefs.
-
-